package org.dromara.dao.business.domain;


import io.swagger.v3.oas.annotations.media.Schema;
import org.dromara.common.mybatis.core.domain.BaseDomain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;

/**
 * 智能体对象 smart_agent
 *
 *
 * @date 2025-01-13 10:56:16
 */
@Schema(description = "智能体")
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("smart_agent")
public class SmartAgent extends BaseDomain {

    @Serial
    private static final long serialVersionUID = 1L;
    /**
    * 字段 [id]: ID
    */
    @Schema(description = "ID")
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;


    /**
     * 字段 [name]: 智能体名字
     */
    @Schema(description = "智能体名字")
    @TableField(value = "name")
    private String name;

    /**
     * 字段 [description]: 描述
     */
    @Schema(description = "描述 ")
    @TableField(value = "description")
    private String description;

    /**
     * 字段 [prompt]: 模型提示词
     */
    @Schema(description = "模型提示词")
    @TableField(value = "prompt")
    private String prompt;

    /**
     * 字段 [user_id]: 用户ID  为空表示系统内置智能体
     */
    @Schema(description = "用户ID  为空表示系统内置智能体")
    @TableField(value = "user_id")
    private Long userId;

    /**
     * 字段 [model_id]: 模型ID
     */
    @Schema(description = "模型ID")
    @TableField(value = "model_id")
    private Long modelId;

    /**
     * 字段 [model_name]: 模型名字
     */
    @Schema(description = "模型名字")
    @TableField(value = "model_name")
    private String modelName;

    /**
     * 字段 [model_value]: 模型value
     */
    @Schema(description = "模型value")
    @TableField(value = "model_value")
    private String modelValue;

    /**
     * 字段 [model_icon]: 模型图标
     */
    @Schema(description = "模型图标")
    @TableField(value = "model_icon")
    private String modelIcon;

    /**
     * 字段 [status]: 状态
     */
    @Schema(description = "状态 ")
    @TableField(value = "status")
    private Boolean status;

    @Schema(description = "是否显示热门 ")
    @TableField(value = "hot")
    private Boolean hot;

    @Schema(description = "分类ID")
    @TableField(value = "category_id")
    private Long categoryId;


    @Schema(description = "分类")
    @TableField(value = "category_name")
    private String categoryName;
    /**
     * 字段 [icon]: 智能体图标
     */
    @Schema(description = "智能体图标")
    @TableField(value = "icon")
    private String icon;

}
